package io.aicn.lowcode.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
@Schema(description = "User creation request")
public class UserCreate {
    
    @NotBlank(message = "Name is required")
    @Size(max = 30, message = "Name must be less than 30 characters")
    @Schema(description = "User name", example = "John Doe")
    private String name;
    
    @Min(value = 0, message = "Age must be non-negative")
    @Max(value = 150, message = "Age must be less than 150")
    @Schema(description = "User age", example = "25")
    private Integer age;
    
    @NotBlank(message = "Email is required")
    @Email(message = "Invalid email format")
    @Size(max = 50, message = "Email must be less than 50 characters")
    @Schema(description = "User email", example = "john@example.com")
    private String email;

    public String getName() {
        return name;
    }

    public Integer getAge() {
        return age;
    }

    public String getEmail() {
        return email;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}